1
תגובות

אני חושב שמצאתי באג

פתח hadash ,
בלארוול החדש, כחלק משימוש בtimestamps שיוצרת בטבלה שתי שדות - created_at ו upadated_at, משהו לא עובד טוב.
(ב5.1 זה עבד לי סבבה)
כשמשתמש נרשם, הזמנים בשתי השדות זהים - עד כאן הכל טוב.(חוץ מזה שזה פחות בשעתיים מהשעה אצלי במחשב אבל זה עוד בסדר)
כאשר המשתמש מתחבר, ומתנתק (בעצם כשנעשה שינוי ) - הזמנים משתנים. הcreated_at משתנה לזמן הנוכחי(כולל השעתיים) והupdated_at משתנה לזמן הנוכחי בלי השעתיים.
וככה הם תמיד משתנים.
אני אתן דוגמה :
המשתמש נרשם ב1/1/16 בשעה 12:00. created=1/1/16, 10:00 updated=1/1/16, 10:00
אחרי יומיים וחצי שעה המשתמש התחבר התנתק . created_at=3/1/16, 12:30 updated=3/1/16, 10:30

מה עושים ?

1 תשובות

avatar ענה hadash ב 28 לדצמבר 2015 #

תשובה : לא ממש הבנתי, אבל זאת כנראה בעיה בסינטקס של mysql 5.7 שלא מקבל יותר 00-00-0000 00:00:00 כברירת מחדל.
בכל מקרה, הפתרון הוא פשוט לשנות את

$table->timestamps()

ל
$table->nullableTimestamps()

או להשתמש בזה כך:
$table->timestamp()->useCurrent()


זה פתרון שטיילור נתן, הבעיה מתועדת כאן:
לינק
והפתרון שהוא נתן :
עוד לינק